package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.PageResult;

import java.util.List;

/**
 * 圈子服务接口
 */
public interface MovementApi {
    /**
     * 发布动态
     * @param movement
     */
    void add(Movement movement);

    /**
     * 根据用户id分页查询动态表数据
     * @param page
     * @param pageSize
     * @param userId
     * @return
     */
    PageResult<Movement> findPageMovement(Long page, Long pageSize, Long userId);


    /**
     * 好友动态
     *
     * @param page
     * @param pagesize
     * @param loginUserId
     */
    PageResult<Movement> findPageMovementByFriend(Long page, Long pagesize, Long loginUserId);

    /**
     * 根据pids查询动态分页数据
     *
     * @param pidList
     * @return
     */
    PageResult<Movement> findPageMovementByPids(List<Long> pidList);


    /**
     * 随机查询10个动态数据
     *
     * @return
     */
    PageResult<Movement> findPageMovementByRecommend();

    /**
     * 单条动态
     * publishId:动态表主键id
     *
     * @param publishId
     */
    Movement findMovement(String publishId);

    /**
     * 根据用户ID分页查询用户发布的动态列表
     */
    PageResult findByUserId(Long uid, Integer state, Long page, Long pagesize);


}
